home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 24
/
AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso
/
PublicDomain
/
Anwendungen
/
MT-RechnungIII
/
Rexx
/
Import_MUIRechnung.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1998-11-27
|
25KB
|
882 lines
/*
** Importieren der Daten von MUIRechnung in MT-RechnungIII
** $VER: Import_MUIRechnung.rexx V1.01 (27.11.98)
*/
PARSE ARG ARexxPort;
ADDRESS VALUE ARexxPort;
OPTIONS RESULTS;
LF = '0a'x; /* Zeilenvorschub */
TAB = '09'x; /* Tabulator */
RC = 0;
/* Oberfläche sperren */
LOCKGUI;
/* Prüfen, ob nicht bereits Daten vorhanden sind (darf nicht sein) */
NUMBER_ADDRESS;
AnzahlAdressen = MTR_RESULT;
NUMBER_ARTICLE;
AnzahlArtikel = MTR_RESULT;
NUMBER_OUTBILL;
AnzahlRechnung = MTR_RESULT;
AnzahlKunden = 0;
/* Einstellungen lesen */
GET_PREFS;
IF (AnzahlAdressen + AnzahlArtikel + AnzahlRechnung) > 0 THEN
DO;
ES_TITLE = "Achtung!!!!";
ES_TEXTFORMAT = "Die Daten können nur importiert werden," || LF || "wenn noch keine Eingaben erfolgten.";
ES_GADGETFORMAT = "Abbrechen";
EASY_REQUEST;
RC = 1;
END;
/* Einstellungsdatei auswählen */
IF RC = 0 THEN
DO;
ASLFR_TITLETEXT = "Wählen Sie die Konfigurationsdatei";
ASLFR_INITIALDRAWER = "ram:";
ASLFR_INITIALPATTERN = "#?.dat";
ASLFR_INITIALFILE = "Konfiguration.dat";
ASL_FILE_REQUEST;
IF MTR_RESULT = "" THEN
RC = 1;
ELSE
DO;
PrefsDatei = MTR_RESULT;
j = 0;
i = INDEX( PrefsDatei, "/");
DO WHILE( i > 0 );
j = i;
i = INDEX( PrefsDatei, "/", i+1);
END;
IF J = 0 THEN
J = INDEX( PrefsDatei, ":" );
Vorgabeverzeichnis = SUBSTR( PrefsDatei, 1, J );
END;
END;
/* Artikeldatei auswählen */
IF RC = 0 THEN
DO;
ASLFR_TITLETEXT = "Wählen Sie die Artikeldatei";
ASLFR_INITIALDRAWER = Vorgabeverzeichnis;
ASLFR_INITIALPATTERN = "#?.dat";
ASLFR_INITIALFILE = "Artikelliste.dat";
ASL_FILE_REQUEST;
IF MTR_RESULT = "" THEN
RC = 1;
ELSE
DO;
ArtikelDatei = MTR_RESULT;
END;
END;
/* Kundendatei auswählen */
IF RC = 0 THEN
DO;
ASLFR_TITLETEXT = "Wählen Sie die Kundendatei";
ASLFR_INITIALDRAWER = Vorgabeverzeichnis;
ASLFR_INITIALPATTERN = "#?.dat";
ASLFR_INITIALFILE = "Kundenliste.dat";
ASL_FILE_REQUEST;
IF MTR_RESULT = "" THEN
RC = 1;
ELSE
DO;
KundenDatei = MTR_RESULT;
END;
END;
/* Noch kein Fehler Aufgetreten? */
IF RC = 0 THEN
DO;
/* Länder einlesen */
NUMBER_COUNTRY;
AnzLaender = MTR_RESULT;
DO i = 1 to AnzLaender;
GET_COUNTRY i;
LandesName.i = COUNTRY.NAME;
END;
IF OPEN(P_dat,PrefsDatei,'read') THEN
DO;
MUI_Firma = READLN(P_dat);
MUI_Inhaber = READLN(P_dat);
MUI_Strasse = READLN(P_dat);
MUI_PLZOrt = READLN(P_dat);
MUI_Zeichen = READLN(P_dat);
MUI_Bankname = READLN(P_dat);
MUI_BLZ = READLN(P_dat);
MUI_Kontonummer = READLN(P_dat);
MUI_TelVorwahl = READLN(P_dat);
MUI_Tel = READLN(P_dat);
MUI_FaxVorwahl = READLN(P_dat);
MUI_Fax = READLN(P_dat);
PREFS.VALUEPERCENT.0 = READLN(P_dat);
PREFS.VALUEPERCENT.1 = READLN(P_dat);
CLOSE(P_dat);
END;
ELSE
DO;
ES_TITLE = "Fehler!!!!";
ES_TEXTFORMAT = "Konnte die Konfigurationsdatei nicht öffnen :-(";
ES_GADGETFORMAT = "Abbrechen";
EASY_REQUEST;
FREEGUI;
EXIT;
END;
PREFS.CURRENCY_USED = 1;
SET_PREFS;
IF MUI_Inhaber > "" THEN
DO;
i = INDEX(MUI_Inhaber, " ");
IF i = 0 THEN
DO;
MUI_Vorname = "";
MUI_Nachname = MUI_Inhaber;
END;
ELSE
DO;
DO WHILE( i > 0 )
j = i;
i = INDEX( MUI_Adresse2, " ", (j+1) );
END;
MUI_Vorname = LEFT(MUI_Inhaber, (j - 1));
MUI_Nachname = SUBSTR(MUI_Inhaber, (j + 1));
END;
END;
ELSE
DO;
MUI_Vorname = "";
MUI_Nachname = "";
END;
IF MUI_PLZOrt > "" THEN
DO;
i = INDEX(MUI_PLZOrt, " ");
IF i = 0 THEN
DO;
MUI_PLZ = LEFT(MUI_PLZOrt, 5);
MUI_Ort = SUBSTR(MUI_PLZOrt, 6);
END;
ELSE
DO;
MUI_PLZ = LEFT(MUI_PLZOrt, (i - 1));
MUI_Ort = SUBSTR(MUI_PLZOrt, (i + 1));
END;
END;
ELSE
DO;
MUI_PLZ = "";
MUI_Ort = "";
END;
IF AnzLaender = 0 THEN
CALL UP_NeuesLand("","");
NEW_ADDRESS;
Adressnummer = MTR_RESULT;
ADDRESS.COMPANY1 = MUI_Firma;
ADDRESS.SURNAME = MUI_Nachname;
ADDRESS.PRENAME = MUI_Vorname;
ADDRESS.STREET = MUI_Strasse;
ADDRESS.ZIP = MUI_PLZ;
ADDRESS.CITY = MUI_Ort;
ADDRESS.PHONE = COMPRESS(MUI_TelVorwahl) || "/" || COMPRESS(MUI_Tel);
ADDRESS.FAX = COMPRESS(MUI_FaxVorwahl) || "/" || COMPRESS(MUI_Fax);
ADDRESS.BANK_CODE_NUMBER = COMPRESS(MUI_BLZ);
ADDRESS.BANK_NAME = MUI_Bankname;
ADDRESS.ACCOUNT = COMPRESS(MUI_Kontonummer);
SET_ADDRESS Adressnummer;
ADD_BRANCHOFFICE Adressnummer;
ADD_EMPLOYEE Adressnummer;
/* Artikel einlesen */
IF OPEN(A_dat,ArtikelDatei,'read') THEN
DO;
DO forever;
MUI_ArtBez = READLN(A_dat);
IF EOF(A_dat) THEN LEAVE;
MUI_ArtPreis = COMPRESS(TRANSLATE(READLN(A_dat), ' .', '.,'));
MUI_ArtEKPreis = COMPRESS(TRANSLATE(READLN(A_dat), ' .', '.,'));
MUI_ArtEKVers = COMPRESS(TRANSLATE(READLN(A_dat), ' .', '.,'));
MUI_ArtVGLBetr = COMPRESS(TRANSLATE(READLN(A_dat), ' .', '.,'));
MUI_ArtNummer = READLN(A_dat);
MUI_Preistab = READLN(A_dat);
MUI_Packung = COMPRESS(TRANSLATE(READLN(A_dat), ' .', '.,'));
MUI_Datum = READLN(A_dat);
MUI_Lieferant = READLN(A_dat);
MUI_Kategorie = READLN(A_dat);
MUI_Notiz = READLN(A_dat);
MUI_Leer = READLN(A_dat);
CALL UP_NeuerArtikel;
END;
CLOSE(A_dat);
END;
MUI_Packung = 0;
/* Adressen einlesen */
IF OPEN(K_dat,KundenDatei,'read') THEN
DO;
DO forever;
MUI_AnredePlus = READLN(K_dat);
IF EOF(K_dat) THEN LEAVE;
MUI_Adresse2 = READLN(K_dat);
MUI_Adresse3 = READLN(K_dat);
MUI_Adresse4 = READLN(K_dat);
MUI_Adresse5 = READLN(K_dat);
MUI_KundenNrPlus = READLN(K_dat);
MUI_Zeichen = READLN(K_dat);
MUI_FonPlus = READLN(K_dat);
CALL UP_NeuerKunde;
END;
CLOSE(K_dat);
END;
MUI_FonPlus = "";
/* Versandarten erzeugen */
NEW_DISPATCH;
VersandNummer = MTR_RESULT;
DELIVERY.DESCRIPTION.0 = "Barzahlung";
DELIVERY.DESCRIPTION.1 = "Batrag dankend erhalten";
SET_DISPATCH VersandNummer;
NEW_DISPATCH;
VersandNummer = MTR_RESULT;
DELIVERY.DESCRIPTION.0 = "Banküberweisung";
DELIVERY.DESCRIPTION.1 = "Bitte überweisen Sie den Betrag";
SET_DISPATCH VersandNummer;
NEW_DISPATCH;
VersandNummer = MTR_RESULT;
DELIVERY.DESCRIPTION.0 = "Nachnahme";
DELIVERY.DESCRIPTION.1 = "Batrag dankend erhalten";
DELIVERY.VALUE_ADDITIONAL_USED = 9;
DELIVERY.DISCOUNT_ALLOWANCE = 0;
DELIVERY.CURRENCY_USED = 0;
DELIVERY.ADDITIONAL_COSTS.0.0 = 3;
SET_DISPATCH VersandNummer;
NEW_DISPATCH;
VersandNummer = MTR_RESULT;
DELIVERY.DESCRIPTION.0 = "Lieferschein";
SET_DISPATCH VersandNummer;
/* Aufträge und Bestellungen einlesen */
JahrBis = LEFT(DATE(s), 4);
DO JahrVerarb = 1993 TO JahrBis;
EOF_AL = 'N';
EOF_RL = 'N';
AuftragsLDatei = Vorgabeverzeichnis || "Aufträge" || JahrVerarb || "/AuftragsListe";
RechnungsLDatei = Vorgabeverzeichnis || "Rechnungen" || JahrVerarb || "/RechnungsListe";
IF OPEN(AufL_dat, AuftragsLDatei,'read') THEN
CALL UP_AufListeLesen;
ELSE
DO;
EOF_AL = 'J';
MUI_AL_ADatum = 99999999;
MUI_AL_RDatum = 99999999;
END;
IF OPEN(ReL_dat, RechnungsLDatei,'read') THEN
CALL UP_ReListeLesen;
ELSE
DO;
EOF_RL = 'J';
MUI_RL_RDatum = 99999999;
MUI_RL_ADatum = 99999999;
MUI_RL_BDatum = 99999999;
END;
DO WHILE( (EOF_AL = 'N') | (EOF_RL = 'N') );
IF MUI_AL_ADatum <= MUI_RL_RDatum THEN
CALL UP_Auftrag_Verarb;
IF MUI_AL_ADatum >= MUI_RL_RDatum THEN
CALL UP_Rechnung_Verarb;
END;
CLOSE(AufL_dat);
CLOSE(ReL_dat);
END;
ES_TITLE = "Achtung!!!!";
ES_TEXTFORMAT = "Der Datenimport ist abgeschlossen," || LF || "die Zugangsdaten lauten:" || LF || LF;
ES_TEXTFORMAT = ES_TEXTFORMAT || "User: '" || EMPLOYEE.ADDRESS.SURNAME || "'" || LF;
ES_TEXTFORMAT = ES_TEXTFORMAT || "Passwort: '" || EMPLOYEE.ADDRESS.SURNAME || "'" || LF;
ES_GADGETFORMAT = "Ok";
EASY_REQUEST;
END;
/* Oberfläche freigeben */
FREEGUI;
EXIT;
/* Auftragsliste einlese